/*
 * @Author: cl
 * @Description:
 * @Date: 2022-04-29 16:29:33
 * @LastEditTime: 2023-08-03 08:34:28
 * @FilePath: \vue3\vite.config.js
 */
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import { viteMockServe } from "vite-plugin-mock";
import path from 'path'
import AutoImport from "unplugin-auto-import/vite";
import Components from "unplugin-vue-components/vite";

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    viteMockServe({
      logger: false, ////是否在控制台显示请求日志
      mockPath: "./mock",
      localEnabled: true, // 开发打包开关
      prodEnabled: false, // 生产打包开关 // 这样可以控制关闭mock的时候不让mock打包到最终代码内
      supportTs: false, //打开后，可以读取 ts 文件模块。 请注意，打开后将无法监视.js 文件 ,
    }),
    AutoImport({
      imports: ["vue", "vue-router", "pinia", "@vueuse/core"],
      dirs: ["src/hooks", "src/stores/modules"],
      dts: "types/auto-import.d.ts",   // 路径下自动生成文件夹存放全局指令
    }),
    Components({
      dirs: ["src/components"],
      extensions: ["vue"],
      dts: "types/components.d.ts",
      deep: true,
    }),
  ],
  server: {
    host: '0.0.0.0'	// ← 新增内容 ←
  },
  resolve: {
    alias: {
      // 设置路径
      '~': path.resolve(__dirname, './'),
      // 设置别名
      '@': path.resolve(__dirname, 'src')
    },
    // https://cn.vitejs.dev/config/#resolve-extensions
    // extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue']
  },
});
